<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="/">
    <html>

      <head>
        <style type="text/css"> tr{align:center} td{border:solid 1px black} table{border:3 width:70%}</style>
      </head>

      <table>
      <tr >
      	<td>time</td>
      	<td>Sunday</td>
      	<td>Monday</td>
      	<td>Tuesday</td>
      	<td>Wednesday</td>
      	<td>Thursday</td>
      	<td>Friday</td>
      	<td>Saturday</td>
      </tr>
        <xsl:call-template name="for">
          <xsl:with-param name="count" select="10"/>
        </xsl:call-template>
      </table>
    </html>
  </xsl:template>

  <xsl:template name="for">
    <xsl:param name="i" select="0"/>
    <xsl:param name="count"/>

    <xsl:if test="$i &lt; $count">
      <tr>
        <td>
          <xsl:value-of select="concat($i + 8, ':00 - ', $i + 9, ':00')"/>
        </td>
        
        <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='SUN'">
        	<xsl:if test="$i+8 >= ./start">
        		 <xsl:if test="$i+9 &lt;= ./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
        
         <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='MON'">
        	<xsl:if test="$i+8 &gt;=./start">
        		 <xsl:if test="$i+9 &lt;=./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
        
             <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='TUE'">
        	<xsl:if test="$i+8 &gt;=./start">
        		 <xsl:if test="$i+9 &lt;=./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
        
                <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='WED'">
        	<xsl:if test="$i+8 &gt;=./start">
        		 <xsl:if test="$i+9 &lt;=./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
        
              <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='THU'">
        	<xsl:if test="$i+8 &gt;=./start">
        		 <xsl:if test="$i+9 &lt;=./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
        
                <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='FRI'">
        	<xsl:if test="$i+8 &gt;=./start">
        		 <xsl:if test="$i+9 &lt;=./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
        
         <td>
        <xsl:for-each select="calendar//session">
         <xsl:if test="day='SAT'">
        	<xsl:if test="$i+8 &gt;=./start">
        		 <xsl:if test="$i+9 &lt;=./end">
        			<xsl:value-of select="../title"/>
        		</xsl:if>
        	</xsl:if>
          </xsl:if>
        </xsl:for-each>
        </td>
      </tr>
      <xsl:call-template name="for">
        <xsl:with-param name="i" select="$i + 1"/>
        <xsl:with-param name="count" select="$count"/>
      </xsl:call-template>
    </xsl:if>

  </xsl:template>

</xsl:stylesheet>
